package com.yeren.string;

public class StringBuilderDemo1 {

	/**
	 * @param StringBuilder是为了修改字符串而设计的类
	 */
	public static void main(String[] args) {
		String str="努力学习java，为了编出好的程序";
		/**
		 * 创建StringBuilder用于修改字符串
		 **/
		StringBuilder builder=new StringBuilder(str);
		//向字符串末尾追加一个字符串“！！！”
		builder.append("!!!");
		//获取StringBuilder修改后的字符串
		String str1=builder.toString();
		System.out.println(str1);//努力学习java，为了编出好的程序!!!
		/**
		 * 向字符串给定位置插入新内容
		 * builder。insert（offset,b）
		 * 参数1：指定字符串位置索引，从零开始
		 * 参数2：插入的新内容
		 * 0 1 2 3 4567 8 9 0 1 3 4 5 6 7
		 * 努 力   学   习   java ， 为    了   编  出  好  的   程  序
		 * 努 力   学   习   java ， 就    是   为   了  编  出  好  的   程  序
		 * */
		builder.insert(9, "就是");
		System.out.println(builder);//努力学习java，就是为了编出好的程序!!!
		
		/**
		 *活着就是为了编出更好的程序！！！
		 *builder.replace(start,end,str1)
		 *替换字符串
		 *参数1：被替换内容的截止位置
		 *参数2：被替换内容的结束位置
		 *参数3：替换掉的内容 
		 **/
		builder.replace(0, 8, "活着");
		System.out.println(builder);//活着，就是为了编出好的程序!!!
		/**
		 * 活着。就是为了编出好的程序！！！
		 * 活着，就是为了
		 * delete（int start，int end）
		 * 删除字符串中的部分内容
		 * 参数1：要删除的起始位子
		 * 参数2：要删除的结束位子
		 **/
		/**
		 * StringBuilder的这些方法都有返回值
		 * 返回值都是StringBuilder的实例。
		 * 这里返回的都是当前builder。
		 * 这些方法最后一句都是return this*/
		builder.delete(7, builder.length());
		System.out.println(builder);//活着，就是为了
		builder.append("改变世界！");
		System.out.println(builder);//活着，就是为了改变世界！
		
		/**
		 * 字符串反转
		 */
		builder.reverse();
		System.out.println(builder);//！界世变改了为是就，着活

		
		
	}

}
